import { http } from '/@/utils/http';

import type {
  AddCommentParams,
  AddCommentResult,
  AddCommentStarParams,
  AddCommentStarResult,
  AddPinParams,
  AddPinStarParams,
  AddPinStarResult,
} from './model/pinModel';

/**
 * 发布沸点
 * @param params AddPinParams
 * @returns
 */
export function publishPin(params: AddPinParams) {
  return http.post({
    url: '/api/web/hotspot/hotspot/add',
    params,
  });
}

/**
 * 评论沸点
 * @param params AddCommentParams
 * @returns AddCommentResult
 */
export function addComment(params: AddCommentParams) {
  return http.post<AddCommentResult>({
    url: '/api/web/hotspot/comments/add',
    params,
  });
}

/**
 * 给沸点点赞
 * @param params AddCommentStarParams
 * @returns AddCommentStarResult
 */
export function postPinStar(params: AddPinStarParams) {
  return http.post<AddPinStarResult>({
    url: '/api/web/hotspot/hotspot/like',
    params,
  });
}

/**
 * 给沸点的评论点赞
 * @param params AddCommentStarParams
 * @returns AddCommentStarResult
 */
export function postCommentStar(params: AddCommentStarParams) {
  return http.post<AddCommentStarResult>({
    url: '/api/web/hotspot/comments/like',
    params,
  });
}

/**
 * 给沸点的评论取消点赞
 * @param params AddCommentStarParams
 * @returns AddCommentStarResult
 */
export function cancelCommentStar(params: AddCommentStarParams) {
  return http.post<AddCommentStarResult>({
    url: '/api/web/hotspot/comments/star',
    params,
  });
}
